/********************************************************************************
 * Project Name		[JavaSE_Fundamentals]
 * File Name     	[TestVector.java]
 * Creation Date 	[2015-01-01]
 * 
 * Copyright© ge.y.yang@gmail.com All Rights Reserved
 * 
 * Work hard, play harder, think big and keep fit
 ********************************************************************************/
package collections;

import java.util.Arrays;
import java.util.Enumeration;
import java.util.Vector;

/**
 * 集合框架 - java.util.Vector
 * 
 * @author 不落的太阳(Sean Yang aka ShortPeace)
 * @version 1.0
 * @since jdk 1.8
 * 
 */
public class TestVector {

	/**
	 * Vector的增删查改方法<br/>
	 */
	public static void vectorCRUD() {
		Vector<String> vector = new Vector<>();
		// 添加元素
		vector.add("one");
		vector.add("two");
		vector.add("three");

		vector.addElement("four");
		vector.add(4, "five");

		// 查询元素
		String str1 = vector.get(0);
		String str2 = vector.elementAt(0);
		String str3 = vector.firstElement();
		vector.lastElement();

		System.out.println(str1.equals(str2));
		System.out.println(str1.equals(str3));

		// 修改元素
		vector.set(1, "hello");

		// 删除元素
		vector.remove("hello");
		vector.remove(0);
		vector.removeElement("five");
		vector.removeElementAt(0);
	}

	/**
	 * 遍历Vector
	 */
	public static void iteratorVector() {
		Vector<String> vector = new Vector<>();
		vector.add("1");
		vector.add("2");
		vector.add("3");
		vector.add("4");
		vector.add("5");

		Enumeration<String> iter = vector.elements();
		while (iter.hasMoreElements()) {
			iter.nextElement();
		}
	}

	/**
	 * 其他方法
	 */
	public static void otherMethods() {
		Vector<String> vector = new Vector<>();
		vector.add("1");
		vector.add("2");
		vector.add("3");
		vector.add("4");
		vector.add("5");

		String[] array = new String[vector.size()];
		vector.copyInto(array);
		System.out.println(Arrays.toString(array));

		vector.capacity();
		vector.ensureCapacity(10);
	}

	public static void main(String[] args) {
		vectorCRUD();
		iteratorVector();
		otherMethods();
	}
}
